package cn.qayy.po;

import java.util.Date;

import cn.qayy.dto.CashFlowDTO;
import cn.qayy.utils.DateUtils;

/**
 * 
 * 
 * @author wangyu
 * 现金流量表
 * @date 2018-08-20
 */
public class CashFlow {
    private Integer id;

    /**
     * 公司分支
     */
    private String companyBranch;

    /**
     * 归属年限
     */
    private String belongYear;

    /**
     * 实际年限
     */
    private String realYear;

    /**
     * 条线
     */
    private String stripLine;

    /**
     * 费用类型
     */
    private String costType;

    /**
     * 负责人
     */
    private String chargeMan;

    /**
     * 部门
     */
    private String department;

    /**
     * 省份
     */
    private String province;

    /**
     * 项目
     */
    private String project;

    /**
     * 二级科目
     */
    private String secondLevel;

    /**
     * 三集科目
     */
    private String threeLevel;

    /**
     * 四级科目
     */
    private String fourLevel;

    /**
     * 客户
     */
    private String client;

    /**
     * 明细项备注
     */
    private String detailMemo;

    /**
     * 发货日期
     */
    private String deliveryDate;

    /**
     * T年
     */
    private String tYear;

    /**
     * T月
     */
    private String tMonth;

    /**
     * T日
     */
    private String tDay;

    /**
     * 出库单号
     */
    private String outNumber;

    /**
     * 批号
     */
    private String batchNumber;

    /**
     * 品种
     */
    private String product;

    /**
     * 包装
     */
    private String pack;

    /**
     * 数量
     */
    private String count;

    /**
     * 生产折量
     */
    private String pCount;

    /**
     * 销售折量
     */
    private String xsCount;

    /**
     * 价格
     */
    private String price;

    /**
     * 可用现金
     */
    private String ableCash;

    /**
     * 财务备注
     */
    private String financialMemo;

    /**
     * 银行
     */
    private String bank;

    /**
     * 收（付）方日期
     */
    private String tradeDate;

    /**
     * 收(付)方名称
     */
    private String tradeName;

    /**
     * 收款客户名称
     */
    private String receiptClientName;

    /**
     * 商业
     */
    private String business;

    /**
     * 开票日期
     */
    private String makeTicketDate;

    /**
     * 发票/收据
     */
    private String invoice;

    /**
     * 收票人及联系方式
     */
    private String checkTaker;

    /**
     * 收货地址
     */
    private String invoiceAddr;

    /**
     * 收货备注
     */
    private String receivingMemo;

    /**
     * 创建时间
     */
    private Date ctime=new Date();//更新时间;

    /**
     * 修改时间
     */
    private Date mtime=new Date();//更新时间;
    
    /**
     * 创建人
     */
    private String createBy;
    
    /**
     * 修改人
     */
    private String modifyBy;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getCompanyBranch() {
        return companyBranch;
    }

    public void setCompanyBranch(String companyBranch) {
        this.companyBranch = companyBranch == null ? null : companyBranch.trim();
    }

    public String getBelongYear() {
        return belongYear;
    }

    public void setBelongYear(String belongYear) {
        this.belongYear = belongYear;
    }

    public String getRealYear() {
        return realYear;
    }

    public void setRealYear(String realYear) {
        this.realYear = realYear;
    }

    public String getStripLine() {
        return stripLine;
    }

    public void setStripLine(String stripLine) {
        this.stripLine = stripLine == null ? null : stripLine.trim();
    }

    public String getCostType() {
        return costType;
    }

    public void setCostType(String costType) {
        this.costType = costType == null ? null : costType.trim();
    }

    public String getChargeMan() {
        return chargeMan;
    }

    public void setChargeMan(String chargeMan) {
        this.chargeMan = chargeMan == null ? null : chargeMan.trim();
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department == null ? null : department.trim();
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province == null ? null : province.trim();
    }

    public String getProject() {
        return project;
    }

    public void setProject(String project) {
        this.project = project == null ? null : project.trim();
    }

    public String getSecondLevel() {
        return secondLevel;
    }

    public void setSecondLevel(String secondLevel) {
        this.secondLevel = secondLevel == null ? null : secondLevel.trim();
    }

    public String getThreeLevel() {
        return threeLevel;
    }

    public void setThreeLevel(String threeLevel) {
        this.threeLevel = threeLevel == null ? null : threeLevel.trim();
    }

    public String getFourLevel() {
        return fourLevel;
    }

    public void setFourLevel(String fourLevel) {
        this.fourLevel = fourLevel == null ? null : fourLevel.trim();
    }

    public String getClient() {
        return client;
    }

    public void setClient(String client) {
        this.client = client == null ? null : client.trim();
    }

    public String getDetailMemo() {
        return detailMemo;
    }

    public void setDetailMemo(String detailMemo) {
        this.detailMemo = detailMemo == null ? null : detailMemo.trim();
    }

    public String getDeliveryDate() {
        return deliveryDate;
    }

    public void setDeliveryDate(String deliveryDate) {
        this.deliveryDate = deliveryDate == null ? null : deliveryDate.trim();
    }

    public String getTYear() {
        return tYear;
    }

    public void setTYear(String tYear) {
        this.tYear = tYear;
    }

    public String getTMonth() {
        return tMonth;
    }

    public void setTMonth(String tMonth) {
        this.tMonth = tMonth;
    }

    public String getTDay() {
        return tDay;
    }

    public void setTDay(String tDay) {
        this.tDay = tDay;
    }

    public String getOutNumber() {
        return outNumber;
    }

    public void setOutNumber(String outNumber) {
        this.outNumber = outNumber == null ? null : outNumber.trim();
    }

    public String getBatchNumber() {
        return batchNumber;
    }

    public void setBatchNumber(String batchNumber) {
        this.batchNumber = batchNumber == null ? null : batchNumber.trim();
    }

    public String getProduct() {
        return product;
    }

    public void setProduct(String product) {
        this.product = product == null ? null : product.trim();
    }

    public String getPack() {
        return pack;
    }

    public void setPack(String pack) {
        this.pack = pack;
    }

    public String getCount() {
        return count;
    }

    public void setCount(String count) {
        this.count = count == null ? null : count.trim();
    }

    public String getPCount() {
        return pCount;
    }

    public void setPCount(String pCount) {
        this.pCount = pCount == null ? null : pCount.trim();
    }

    public String getXsCount() {
        return xsCount;
    }

    public void setXsCount(String xsCount) {
        this.xsCount = xsCount == null ? null : xsCount.trim();
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price == null ? null : price.trim();
    }

    public String getAbleCash() {
        return ableCash;
    }

    public void setAbleCash(String ableCash) {
        this.ableCash = ableCash == null ? null : ableCash.trim();
    }

    public String getFinancialMemo() {
        return financialMemo;
    }

    public void setFinancialMemo(String financialMemo) {
        this.financialMemo = financialMemo == null ? null : financialMemo.trim();
    }

    public String getBank() {
        return bank;
    }

    public void setBank(String bank) {
        this.bank = bank == null ? null : bank.trim();
    }

    public String getTradeDate() {
        return tradeDate;
    }

    public void setTradeDate(String tradeDate) {
        this.tradeDate = tradeDate == null ? null : tradeDate.trim();
    }

    public String getTradeName() {
        return tradeName;
    }

    public void setTradeName(String tradeName) {
        this.tradeName = tradeName == null ? null : tradeName.trim();
    }

    public String getReceiptClientName() {
        return receiptClientName;
    }

    public void setReceiptClientName(String receiptClientName) {
        this.receiptClientName = receiptClientName == null ? null : receiptClientName.trim();
    }

    public String getBusiness() {
        return business;
    }

    public void setBusiness(String business) {
        this.business = business == null ? null : business.trim();
    }

    public String getMakeTicketDate() {
        return makeTicketDate;
    }

    public void setMakeTicketDate(String makeTicketDate) {
        this.makeTicketDate = makeTicketDate == null ? null : makeTicketDate.trim();
    }

    public String getInvoice() {
        return invoice;
    }

    public void setInvoice(String invoice) {
        this.invoice = invoice == null ? null : invoice.trim();
    }

    public String getCheckTaker() {
        return checkTaker;
    }

    public void setCheckTaker(String checkTaker) {
        this.checkTaker = checkTaker == null ? null : checkTaker.trim();
    }

    public String getInvoiceAddr() {
        return invoiceAddr;
    }

    public void setInvoiceAddr(String invoiceAddr) {
        this.invoiceAddr = invoiceAddr == null ? null : invoiceAddr.trim();
    }

    public String getReceivingMemo() {
        return receivingMemo;
    }

    public void setReceivingMemo(String receivingMemo) {
        this.receivingMemo = receivingMemo == null ? null : receivingMemo.trim();
    }

    public Date getCtime() {
        return ctime;
    }

    public void setCtime(Date ctime) {
        this.ctime = ctime;
    }

    public Date getMtime() {
        return mtime;
    }

    public void setMtime(Date mtime) {
        this.mtime = mtime;
    }
        
    public String getCreateBy() {
		return createBy;
	}

	public void setCreateBy(String createBy) {
		this.createBy = createBy;
	}

	public String getModifyBy() {
		return modifyBy;
	}

	public void setModifyBy(String modifyBy) {
		this.modifyBy = modifyBy;
	}

	/**
	 * 通过DTO初始化
	 * @param dto
	 * @return
	 */
	public CashFlow setByDTO(CashFlowDTO dto) {
		this.setCompanyBranch(dto.getCompanyBranch());  
        this.setBelongYear(dto.getBelongYear());
        
        this.setRealYear(dto.getRealYear());            
		this.setStripLine(dto.getStripLine());  
        this.setCostType(dto.getCostType());
       
        this.setChargeMan(dto.getChargeMan());            
		this.setDepartment(dto.getDepartment());  
        this.setProvince(dto.getProvince());  
    
        this.setProject(dto.getProject());            
		this.setSecondLevel(dto.getSecondLevel());  
        this.setThreeLevel(dto.getThreeLevel()); 
        
        this.setFourLevel(dto.getFourLevel());            
		this.setClient(dto.getClient());  
        this.setDetailMemo(dto.getDetailMemo()); 
 
        this.setDeliveryDate(dto.getDeliveryDate());            
		this.setTYear(dto.getTYear());  
        this.setTMonth(dto.getTMonth()); 
      
        this.setTDay(dto.getTDay());            
		this.setOutNumber(dto.getOutNumber());  
        this.setBatchNumber(dto.getBatchNumber()); 
            
        this.setProduct(dto.getProduct());            
		this.setPack(dto.getPack());  
        this.setCount(dto.getCount()); 
                     
        this.setPCount(dto.getPCount());            
		this.setXsCount(dto.getXsCount());  
        this.setPrice(dto.getPrice());     
              
        this.setAbleCash(dto.getAbleCash());            
		this.setFinancialMemo(dto.getFinancialMemo());  
        this.setBank(dto.getBank());     
           
        this.setTradeDate(dto.getTradeDate());            
		this.setTradeName(dto.getTradeName());  
        this.setReceiptClientName(dto.getReceiptClientName()); 
             
        this.setBusiness(dto.getBusiness());            
		this.setMakeTicketDate(dto.getMakeTicketDate());  
        this.setInvoice(dto.getInvoice()); 
   
        this.setCheckTaker(dto.getCheckTaker());            
		this.setInvoiceAddr(dto.getInvoiceAddr());  
        this.setReceivingMemo(dto.getReceivingMemo()); 
        return this;
	}

	

	@Override
	public String toString() {
		return "CashFlow [id=" + id + ", companyBranch=" + companyBranch + ", belongYear=" + belongYear + ", realYear="
				+ realYear + ", stripLine=" + stripLine + ", costType=" + costType + ", chargeMan=" + chargeMan
				+ ", department=" + department + ", province=" + province + ", project=" + project + ", secondLevel="
				+ secondLevel + ", threeLevel=" + threeLevel + ", fourLevel=" + fourLevel + ", client=" + client
				+ ", detailMemo=" + detailMemo + ", deliveryDate=" + deliveryDate + ", tYear=" + tYear + ", tMonth="
				+ tMonth + ", tDay=" + tDay + ", outNumber=" + outNumber + ", batchNumber=" + batchNumber + ", product="
				+ product + ", pack=" + pack + ", count=" + count + ", pCount=" + pCount + ", xsCount=" + xsCount
				+ ", price=" + price + ", ableCash=" + ableCash + ", financialMemo=" + financialMemo + ", bank=" + bank
				+ ", tradeDate=" + tradeDate + ", tradeName=" + tradeName + ", receiptClientName=" + receiptClientName
				+ ", business=" + business + ", makeTicketDate=" + makeTicketDate + ", invoice=" + invoice
				+ ", checkTaker=" + checkTaker + ", invoiceAddr=" + invoiceAddr + ", receivingMemo=" + receivingMemo
				+ ", ctime=" + ctime + ", mtime=" + mtime + ", createBy=" + createBy + ", modifyBy=" + modifyBy + "]";
	}

	public CashFlow(Integer id, String companyBranch, String belongYear, String realYear, String stripLine,
			String costType, String chargeMan, String department, String province, String project, String secondLevel,
			String threeLevel, String fourLevel, String client, String detailMemo, String deliveryDate, String tYear,
			String tMonth, String tDay, String outNumber, String batchNumber, String product, String pack, String count,
			String pCount, String xsCount, String price, String ableCash, String financialMemo, String bank,
			String tradeDate, String tradeName, String receiptClientName, String business, String makeTicketDate,
			String invoice, String checkTaker, String invoiceAddr, String receivingMemo, Date ctime, Date mtime) {
		super();
		this.id = id;
		this.companyBranch = companyBranch;
		this.belongYear = belongYear;
		this.realYear = realYear;
		this.stripLine = stripLine;
		this.costType = costType;
		this.chargeMan = chargeMan;
		this.department = department;
		this.province = province;
		this.project = project;
		this.secondLevel = secondLevel;
		this.threeLevel = threeLevel;
		this.fourLevel = fourLevel;
		this.client = client;
		this.detailMemo = detailMemo;
		this.deliveryDate = deliveryDate;
		this.tYear = tYear;
		this.tMonth = tMonth;
		this.tDay = tDay;
		this.outNumber = outNumber;
		this.batchNumber = batchNumber;
		this.product = product;
		this.pack = pack;
		this.count = count;
		this.pCount = pCount;
		this.xsCount = xsCount;
		this.price = price;
		this.ableCash = ableCash;
		this.financialMemo = financialMemo;
		this.bank = bank;
		this.tradeDate = tradeDate;
		this.tradeName = tradeName;
		this.receiptClientName = receiptClientName;
		this.business = business;
		this.makeTicketDate = makeTicketDate;
		this.invoice = invoice;
		this.checkTaker = checkTaker;
		this.invoiceAddr = invoiceAddr;
		this.receivingMemo = receivingMemo;
		this.ctime = ctime;
		this.mtime = mtime;
	}

	public CashFlow() {
		super();
	}
    
    
}